With the diversification of software products in recent years, there is a tendency of a software package to be composed of a large number of components. A software user, however, rarely uses all of the components and a vendor providing a software product is required to distribute a software package (hereinafter, appropriately referred to as “package”) including only components highly needed by customers.
Normally, when configuring an optimal package for a customer, a vendor as a primary provider selects software programs (hereinafter, referred to as “components”) meeting the needs of the customer for the package configuration.
For example, when a vendor provides an operating system as a package, required components depend upon languages provided by the operating system. Therefore, in most cases, components for one language appropriate for the customer are selected out of English, Japanese, or French components and the entire combination of the selected components is provided as an individual package.
The creation of the individual package by the package provider on a case-by-case basis, however, leads to an increase in human and time costs for management, check, and distribution of a large number of packages and for media creation. Therefore, there has been used a method in which a vendor provides a primary software package (hereinafter, referred to as “single package”) including all components that can be selected and a user selects components to be introduced at installation. This structure is often used at the time of distributing office applications.
Under the present situation, however, with the enhancement of the functions of software programs, there is a tendency of an increase in file size of the components constituting a single package and it leads to a large increase in size of the single package. In recent years, a software package is frequently distributed over a network such as the Internet. In distributing this type of single package over a network, there has been a tendency of an increase in load on a server performance or load on the network and in volume of the software package in the storage device of a server or a user.
Therefore, there has been suggested a method of distributing a single package over a network with a reduction of a load on a server or a network even if the single package size increases (for example, as disclosed in Japanese Laid-Open Patent Publication No. Hei 8(1996)-83245 and Japanese Laid-Open Patent Publication No. 2000-285048